package com.online.pay.common.bean.ali;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * 支付宝请求参数
 * 
 * @author Qiurz
 *
 */
public class AliPayReqParams extends AliPayCommonParam {

	private static final long serialVersionUID = 3308316759664761679L;
	/**
	 * (必填)商户订单号,64个字符以内、可包含字母、数字、下划线；需保证在商户端不重复
	 */
	@NotEmpty
	@Length(max = 32)
	private String out_trade_no;
	/**
	 * (必填)支付场景 条码支付，取值：bar_code 声波支付，取值：wave_code
	 */
	@NotEmpty
	private String scene;
	/**
	 * (必填)支付授权码，25~30开头的长度为16~24位的数字，实际字符串长度以开发者获取的付款码长度为准
	 */
	private String auth_code;
	/**
	 * (可选)卖家支付宝用户ID
	 */
	private String seller_id;
	/**
	 * (必填)订单标题
	 */
	@NotEmpty
	private String subject;

	/**
	 * (可选)订单描述，可以对交易或商品进行一个详细地描述，比如填写"购买商品2件共15.00元"
	 */
	private String body;

	/**
	 * (必填)订单总金额，单位为元，精确到小数点后两位，取值范围[0.01,100000000]
	 */
	@NotEmpty
	private String total_amount;
	/**
	 * (可选)该笔订单允许的最晚付款时间，逾期将关闭交易: 90m
	 */
	private String timeout_express;

	public String getOut_trade_no() {
		return out_trade_no;
	}

	public void setOut_trade_no(String out_trade_no) {
		this.out_trade_no = out_trade_no;
	}

	public String getScene() {
		return scene;
	}

	public String getSeller_id() {
		return seller_id;
	}

	public void setSeller_id(String seller_id) {
		this.seller_id = seller_id;
	}

	public void setScene(String scene) {
		this.scene = scene;
	}

	public String getAuth_code() {
		return auth_code;
	}

	public void setAuth_code(String auth_code) {
		this.auth_code = auth_code;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public String getBody() {
		return body;
	}

	public void setBody(String body) {
		this.body = body;
	}

	public String getTotal_amount() {
		return total_amount;
	}

	public void setTotal_amount(String total_amount) {
		this.total_amount = total_amount;
	}

	public String getTimeout_express() {
		return timeout_express;
	}

	public void setTimeout_express(String timeout_express) {
		this.timeout_express = timeout_express;
	}
}
